# 多层嵌套

def hello():
    print('hello')


def strong1(func):
    def inner():
        print('before  ----strong1')
        func()

    return inner


def strong2(func):
    def inner():
        print('before  ----strong2')
        func()

    return inner


@strong1
@strong2
def hello():
    print('hello')


hello()

# print(type(strong1(strong2(hello))))
# strong1(strong2(hello))()
